class Person():
    eyes=2
    def sayHi(self):
        print("你好")
        pass

xm=Person()
print(xm.eyes)
# 动态添加属性
xm.mouth=1
print(xm.mouth)
xh=Person()
# 进行动态添加的实例属性只对当前对象生效，其他对象无法访问
# print(xh.mouth)  会报错

# 动态添加实例方法
def sayBye(self):
    print("再见")
    pass
# 给对象动态添加实例方法需要使用types模块
import types
# MethodType用于实例方法动态添加操作，第一个参数中需要指定添加的方法名，第二个参数需要指定需要添加的对象是谁
xm.sayBye=types.MethodType(sayBye,xm)
xm.sayBye()
# 动态添加类类方法以及静态方法
# 类方法和静态方法可以直接动过类名进行添加
@classmethod
def sayHello(cls):
    print("hello")
    pass
@staticmethod
def showStaticMethod():
    print("静态方法")
    pass
Person.sayHello=sayHello
Person.sayHello()
Person.showStaticMethod=showStaticMethod
Person.showStaticMethod()